package TouristManagement;

/**
 * Interface definition : VisitManagement
 * 
 * @author OpenORB Compiler
 */
public class _VisitManagementStub extends org.omg.CORBA.portable.ObjectImpl
        implements VisitManagement
{
    static final String[] _ids_list =
    {
        "IDL:TouristManagement/VisitManagement:1.0"
    };

    public String[] _ids()
    {
     return _ids_list;
    }

    private final static Class _opsClass = TouristManagement.VisitManagementOperations.class;

    /**
     * Operation getIdSite
     */
    public short[] getIdSite()
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getIdSite",true);
                    _input = this._invoke(_output);
                    short[] _arg_ret = TouristManagement.ListShortHelper.read(_input);
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getIdSite",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getIdSite();
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation createTourist
     */
    public short createTourist(String nomTourist, TouristManagement.DateV dateDeb, TouristManagement.DateV dateFin)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("createTourist",true);
                    _output.write_string(nomTourist);
                    TouristManagement.DateVHelper.write(_output,dateDeb);
                    TouristManagement.DateVHelper.write(_output,dateFin);
                    _input = this._invoke(_output);
                    short _arg_ret = _input.read_short();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("createTourist",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.createTourist( nomTourist,  dateDeb,  dateFin);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation updateVisitEndHour
     */
    public boolean updateVisitEndHour(short idSite, short touristCardNumber)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("updateVisitEndHour",true);
                    _output.write_short(idSite);
                    _output.write_short(touristCardNumber);
                    _input = this._invoke(_output);
                    boolean _arg_ret = _input.read_boolean();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("updateVisitEndHour",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.updateVisitEndHour( idSite,  touristCardNumber);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation verifyVisit
     */
    public boolean verifyVisit(short idSite, short touristCardNumber)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("verifyVisit",true);
                    _output.write_short(idSite);
                    _output.write_short(touristCardNumber);
                    _input = this._invoke(_output);
                    boolean _arg_ret = _input.read_boolean();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("verifyVisit",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.verifyVisit( idSite,  touristCardNumber);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getVisitingSite
     */
    public short getVisitingSite(short touristCardNumber)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getVisitingSite",true);
                    _output.write_short(touristCardNumber);
                    _input = this._invoke(_output);
                    short _arg_ret = _input.read_short();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getVisitingSite",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getVisitingSite( touristCardNumber);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getAdviceAverage
     */
    public TouristManagement.Advice getAdviceAverage(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getAdviceAverage",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    TouristManagement.Advice _arg_ret = TouristManagement.AdviceHelper.read(_input);
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getAdviceAverage",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getAdviceAverage( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation addAdvice
     */
    public boolean addAdvice(short idSite, short touristCardNumber, TouristManagement.Advice theAdvice)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("addAdvice",true);
                    _output.write_short(idSite);
                    _output.write_short(touristCardNumber);
                    TouristManagement.AdviceHelper.write(_output,theAdvice);
                    _input = this._invoke(_output);
                    boolean _arg_ret = _input.read_boolean();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("addAdvice",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.addAdvice( idSite,  touristCardNumber,  theAdvice);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getdurationAverage
     */
    public short getdurationAverage(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getdurationAverage",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    short _arg_ret = _input.read_short();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getdurationAverage",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getdurationAverage( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getdurationMax
     */
    public short getdurationMax(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getdurationMax",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    short _arg_ret = _input.read_short();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getdurationMax",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getdurationMax( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getdurationMin
     */
    public short getdurationMin(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getdurationMin",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    short _arg_ret = _input.read_short();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getdurationMin",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getdurationMin( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getHoraireOuverture
     */
    public TouristManagement.Hours getHoraireOuverture(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getHoraireOuverture",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    TouristManagement.Hours _arg_ret = TouristManagement.HoursHelper.read(_input);
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getHoraireOuverture",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getHoraireOuverture( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getHoraireFermeture
     */
    public TouristManagement.Hours getHoraireFermeture(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getHoraireFermeture",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    TouristManagement.Hours _arg_ret = TouristManagement.HoursHelper.read(_input);
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getHoraireFermeture",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getHoraireFermeture( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getNbVisiteurActuel
     */
    public short getNbVisiteurActuel(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getNbVisiteurActuel",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    short _arg_ret = _input.read_short();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getNbVisiteurActuel",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getNbVisiteurActuel( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getNbVisiteurMaximal
     */
    public short getNbVisiteurMaximal(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getNbVisiteurMaximal",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    short _arg_ret = _input.read_short();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getNbVisiteurMaximal",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getNbVisiteurMaximal( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getDateDebValid
     */
    public TouristManagement.DateV getDateDebValid(short touristCardNumber)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getDateDebValid",true);
                    _output.write_short(touristCardNumber);
                    _input = this._invoke(_output);
                    TouristManagement.DateV _arg_ret = TouristManagement.DateVHelper.read(_input);
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getDateDebValid",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getDateDebValid( touristCardNumber);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getDateFinValid
     */
    public TouristManagement.DateV getDateFinValid(short touristCardNumber)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getDateFinValid",true);
                    _output.write_short(touristCardNumber);
                    _input = this._invoke(_output);
                    TouristManagement.DateV _arg_ret = TouristManagement.DateVHelper.read(_input);
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getDateFinValid",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getDateFinValid( touristCardNumber);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getNomSite
     */
    public String getNomSite(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getNomSite",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    String _arg_ret = _input.read_string();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getNomSite",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getNomSite( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getCoordsGPS
     */
    public TouristManagement.CoordsGPS getCoordsGPS(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getCoordsGPS",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    TouristManagement.CoordsGPS _arg_ret = TouristManagement.CoordsGPSHelper.read(_input);
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getCoordsGPS",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getCoordsGPS( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation addVisit
     */
    public boolean addVisit(short idSite, short touristCardNumber)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("addVisit",true);
                    _output.write_short(idSite);
                    _output.write_short(touristCardNumber);
                    _input = this._invoke(_output);
                    boolean _arg_ret = _input.read_boolean();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("addVisit",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.addVisit( idSite,  touristCardNumber);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation existTourist
     */
    public boolean existTourist(short touristCardNumber)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("existTourist",true);
                    _output.write_short(touristCardNumber);
                    _input = this._invoke(_output);
                    boolean _arg_ret = _input.read_boolean();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("existTourist",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.existTourist( touristCardNumber);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getVisitSequence
     */
    public String getVisitSequence()
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getVisitSequence",true);
                    _input = this._invoke(_output);
                    String _arg_ret = _input.read_string();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getVisitSequence",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getVisitSequence();
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation isVisitingSite
     */
    public boolean isVisitingSite(short touristCardNumber)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("isVisitingSite",true);
                    _output.write_short(touristCardNumber);
                    _input = this._invoke(_output);
                    boolean _arg_ret = _input.read_boolean();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("isVisitingSite",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.isVisitingSite( touristCardNumber);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

    /**
     * Operation getAffluenceQuotidienne
     */
    public short getAffluenceQuotidienne(short idSite)
    {
        while(true)
        {
            if (!this._is_local())
            {
                org.omg.CORBA.portable.InputStream _input = null;
                try
                {
                    org.omg.CORBA.portable.OutputStream _output = this._request("getAffluenceQuotidienne",true);
                    _output.write_short(idSite);
                    _input = this._invoke(_output);
                    short _arg_ret = _input.read_short();
                    return _arg_ret;
                }
                catch(org.omg.CORBA.portable.RemarshalException _exception)
                {
                    continue;
                }
                catch(org.omg.CORBA.portable.ApplicationException _exception)
                {
                    String _exception_id = _exception.getId();
                    throw new org.omg.CORBA.UNKNOWN("Unexpected User Exception: "+ _exception_id);
                }
                finally
                {
                    this._releaseReply(_input);
                }
            }
            else
            {
                org.omg.CORBA.portable.ServantObject _so = _servant_preinvoke("getAffluenceQuotidienne",_opsClass);
                if (_so == null)
                   continue;
                TouristManagement.VisitManagementOperations _self = (TouristManagement.VisitManagementOperations) _so.servant;
                try
                {
                    return _self.getAffluenceQuotidienne( idSite);
                }
                finally
                {
                    _servant_postinvoke(_so);
                }
            }
        }
    }

}
